]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionSystem: Make unloadExtension take an extension object, not a UUID
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 24 Aug 2012 01:36:33 +0000 (22:36 -0300)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 24 Aug 2012 01:57:45 +0000 (22:57 -0300)
For consistency with loadExtension.

https://bugzilla.gnome.org/show_bug.cgi?id=682578

js/ui/extensionDownloader.js
js/ui/extensionSystem.js

index 72e1177e805d9a7e84a6df917df976a19c65190a..ea15c26a4fcf86f04baa4f7d8e0a59bb80de3c2d 100644 (file)
@@ -60,7 +60,7 @@ function uninstallExtension(uuid) {
     if (extension.type != ExtensionUtils.ExtensionType.PER_USER)
         return false;
 
-    if (!ExtensionSystem.unloadExtension(uuid))
+    if (!ExtensionSystem.unloadExtension(extension))
         return false;
 
     FileUtils.recursivelyDeleteDir(extension.dir, true);
@@ -124,7 +124,7 @@ function updateExtension(uuid) {
             let oldExtension = ExtensionUtils.extensions[uuid];
             let extensionDir = oldExtension.dir;
 
-            if (!ExtensionSystem.unloadExtension(uuid))
+            if (!ExtensionSystem.unloadExtension(oldExtension))
                 return;
 
             FileUtils.recursivelyMoveDir(extensionDir, oldExtensionTmpDir);
@@ -135,7 +135,7 @@ function updateExtension(uuid) {
             try {
                 ExtensionSystem.loadExtension(extension);
             } catch(e) {
-                ExtensionSystem.unloadExtension(uuid);
+                ExtensionSystem.unloadExtension(extension);
 
                 logError(e, 'Error loading extension %s'.format(uuid));
 
index 38aab59a114628b9afcd04a63a203ab37d622e7c..ac4acbb73285eb7dad596e93b546de86b8e246b3 100644 (file)
@@ -158,20 +158,16 @@ function loadExtension(extension) {
     _signals.emit('extension-state-changed', extension);
 }
 
-function unloadExtension(uuid) {
-    let extension = ExtensionUtils.extensions[uuid];
-    if (!extension)
-        return false;
-
+function unloadExtension(extension) {
     // Try to disable it -- if it's ERROR'd, we can't guarantee that,
     // but it will be removed on next reboot, and hopefully nothing
     // broke too much.
-    disableExtension(uuid);
+    disableExtension(extension.uuid);
 
     extension.state = ExtensionState.UNINSTALLED;
     _signals.emit('extension-state-changed', extension);
 
-    delete ExtensionUtils.extensions[uuid];
+    delete ExtensionUtils.extensions[extension.uuid];
     return true;
 }